layui.use(['element', 'carousel', 'form', 'util'], function() {
    let $ = layui.jquery,
        element = layui.element,
        carousel = layui.carousel,
        util = layui.util,
        form = layui.form;

    // 响应式
    $(".site-tree-mobile .layui-icon-spread-left").click(function() {
        $(this).addClass("layui-icon-shrink-right").removeClass("layui-icon-spread-left");
        $("body").addClass("site-mobile");
    });
    $(".site-tree-mobile .layui-icon-shrink-right").click(function() {
        $(this).addClass("layui-icon-spread-left").removeClass("layui-icon-shrink-right");
        $("body").removeClass("site-mobile");
    });
    $(".site-mobile-shade, .nav-close").click(function() {
        $(".site-tree-mobile").find(".layui-icon-shrink-right").addClass("layui-icon-spread-left").removeClass("layui-icon-shrink-right");
        $("body").removeClass("site-mobile");
    });

    // 弹窗登录
    $('.login').click(function() {
        layer.open({
            type: 2,
            title: '登录',
            shadeClose: true,
            shade: 0.3,
            area: ['470px', '400px'],
            content: '/admins/account/login?pop=1' //iframe的url
        });
    });

    // 监听评论提交
    form.on('submit(comment)', function(data) {
        let othis = this;
        $(othis).prev().removeClass('layui-hide');
        $.post('/admins/comment/save', data.field, function(res) {
            if (res.code) {
                return layer.alert(res.msg, {
                    icon: 2
                });
            }
            if ($('.btn-cancel-replay').length) {
                $('.btn-cancel-replay').parent().parent().parent().parent().after(res.data.comment);
                $('.btn-cancel-replay').trigger('click');
            } else {
                $(othis).parent().parent().parent().parent().after(res.data.comment);
            }
            $('.comment-form').find('textarea[name="comment"]').val(null);
            layer.msg(res.msg);
        }, 'json');
        setTimeout(el => { $(othis).prev().addClass('layui-hide'); }, 1000);
        return false;
    });

    // 生成隐藏字段
    $(function() {
        $('button[lay-filter="comment"]').parent().prepend('<input type="hidden" name="post_id" value=' + $('button[lay-filter="comment"]').data('postId') + '>');
    });

    // 回复评论时
    $('body').on('click', '.btn-replay', function() {
        $('button[lay-filter="comment"]').html('<i class="layui-icon layui-icon-at"></i> 回复评论');
        $('button[lay-filter="comment"]').parent().prepend('<input type="hidden" name="pid" value=' + $(this).data('id') + '>');
        $('button[lay-filter="comment"]').parent().prepend('<input type="hidden" name="level" value=' + $(this).data('level') + '>');
        $('.btn-cancel-replay').html('<i class="layui-icon layui-icon-at"></i> 回复').addClass('btn-replay').removeClass('btn-cancel-replay');
        $(this).addClass('btn-cancel-replay').removeClass('btn-replay').html('<i class="layui-icon layui-icon-at"></i> 取消回复');
        $(this).parent().parent().append($('.comment-form'));
    });

    // 取消回复时
    $('body').on('click', '.btn-cancel-replay', function() {
        $('button[lay-filter="comment"]').html('<i class="layui-icon layui-icon-release"></i> 发表评论');
        $('button[lay-filter="comment"]').parent().children('input[name="pid"]').remove();
        $('button[lay-filter="comment"]').parent().children('input[name="level"]').remove();
        $(this).addClass('btn-replay').removeClass('btn-cancel-replay').html('<i class="layui-icon layui-icon-at"></i> 回复');
        $('.comment-area').prepend($('.comment-form'));
    });

    // 搜索
    $('.search-btn').click(function(ev) {
        ev.preventDefault();
        let search = $(this).prev().find('input[name="search"]').val().trim();
        if (search === '') return layer.msg('请输入搜索词');
        window.location.href = '/search/' + search;
    });

    // 移动端侧栏回车搜索
    $('.search-input').keypress(function(ev) {
        ev.preventDefault();
        if (ev.keyCode === 13) {
            let search = ev.target.value.trim();
            if (search === '') return layer.msg('请输入搜索词');
            window.location.href = '/search/' + search;
        }
    });

    // 轮播图
    carousel.render({
        elem: '#slide',
        width: '100%', //设置容器宽度
        arrow: 'always', //始终显示箭头
        //,anim: 'updown' //切换动画方式
    });

    // 回到顶部
    util.fixbar({
        top: true,
        css: { right: 15, bottom: 35 },
        bgcolor: '#009688',
        click: function(type) {
            if (type === 'top') {
                $('body').animate({
                    scrollTop: 0
                }, 200);
            }
        }
    });

});